The present invention relates to a method, architecture and/or software for implementing peripheral devices generally and, more particularly, to a method, architecture and/or software for implementing Universal Serial Bus (USB) devices that consume a minimum amount of power.
When implementing modern computer devices, in particular peripheral devices, it is generally desirable to provide low power consumption in the devices. Achieving a low power consumption during normal operating modes is typically a function of hardware. For example, through software control, specific hardware components of a particular device may be selected to be turned off to lower power consumption in suspend or sleep modes. However, it is often difficult to reach aggressive low power targets.
USB devices (which typically have current consumption of 10-100 mA) implement a low power suspend mode in which device current drops to 0-0.5 mA. The suspend mode is normally only entered on a system command (i.e., a suspend indication signal). Additionally, extensive use of the suspend mode can cause the USB device to miss USB traffic.
USB microcontrollers are continuously running (i.e., on) during normal operation, since USB traffic is constantly received (i.e., traffic is received on each frame at 1 ms intervals). The microcontroller remains on, with clocks running, in order to immediately respond to any received USB traffic. Thus, conventional USB microcontrollers are either off (i.e., for a low-power state as directed by a host) or completely on during normal operation. The disadvantage of such an architecture is that full power consumption is required at all times during normal operation. In power sensitive applications, such as battery powered devices, meeting power consumption targets is a difficult challenge for USB devices.
The present invention concerns a method for lowering power consumption of a Universal Serial Bus (USB) device, comprising the steps of (A) detecting a frame comprising one or more indicators from an input data stream and (B) waking the USB device or continually operating in a suspend/sleep mode, in response to the one or more indicators.
The objects, features and advantages of the present invention include providing a method and/or architecture for implementing low power devices, such as USB devices, that may (i) use suspend/sleep modes during a majority of operation, (ii) remain in a suspend state for over 90% of active time for many applications, (iii) achieve significant power savings if switching wake-up/shut-down time is quick, (iv) allow use of suspend mode during typically non-suspend times, (v) provide continual return to suspend condition, (vi) wake to service environmental changes, including USB traffic, (vii) allow operation of a serial interface engine (SIE) while a processor is halted for a USB microcontroller, (viii) avoid losing traffic while the SIE is running, (ix) provide power savings in the USB microcontroller by suspending the processor portion when not performing useful tasks, and/or (x) provide an architecture for a data communication microcontroller that may allow the USB microcontroller to remain in an off state of operation during a majority of time.